#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行，
# 第2行注释表示.py文件本身使用标准UTF-8编码：
print("#############datetime是Python处理日期和时间的标准库。#############")
from datetime import datetime

now = datetime.now()
print('当前时间：', now)
print('当前时间的类型：', type(now))
print("#############获取指定日期和时间#############")
dt = datetime(2018, 10, 31, 20)
print(dt)
print("#############datetime转换为timestamp#############")
print(dt.timestamp())  # 如果有小数位，小数位表示毫秒数。
print("#############timestamp转换为datetime#############")
ts = 1540987200.0
print(datetime.fromtimestamp(ts))
print(datetime.utcfromtimestamp(ts))
print("#############datetime转换为str#############")
now = datetime.now()
print(now)
print(now.strftime('%a, %b %d %H:%M'))
print("#############datetime加减，需要导入类timedelta#############")
from datetime import timedelta

now = datetime.now()
print(now + timedelta(days=1))
print(now + timedelta(days=1, hours=2))
print("#############本地时间转换为UTC时间#############")
from datetime import datetime, timedelta, timezone

tz_utc_8 = timezone(timedelta(hours=8))  # 创建时区UTC+8:00
now = datetime.now()
print('now', now)
now = datetime(2015, 5, 18, 17, 2, 10, 871012)
dt = now.replace(tzinfo=tz_utc_8)  # 强制设置为UTC+8:00
print('dt', dt)
print("#############时区转换，我们可以先通过utcnow()拿到当前的UTC时间，再转换为任意时区的时间#############")
# 拿到UTC时间，并强制设置时区为UTC+0:00:
utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
print(utc_dt)
# astimezone()将转换时区为北京时间:
bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
print(bj_dt)
# astimezone()将转换时区为东京时间:
tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
print(tokyo_dt)
# astimezone()将bj_dt转换时区为东京时间:
tokyo_dt2 = bj_dt.astimezone(timezone(timedelta(hours=9)))
print(tokyo_dt2)
